for _ in range(int(input())):
n = int(input())
a = input().split()
d = dict()
s = len(set(a))
if 1 < n != s:
shortest = n
for i in range(n):
if a[i] in d and i - d[a[i]] < shortest:
shortest = i - d[a[i]]
d[a[i]] = i
print(shortest + 1)
else:
print(-1)
#include <iostream>
#include<bits/stdc++.h>
using namespace std;
#define ll long long
void hoda()
{
ios_base::sync_with_stdio(false);
cin.tie(NULL);
}
void solve() {
int T;
cin >> T;
while (T--) {
int n;
cin >> n;
vector<int> a(n);
for (auto &i: a)cin >> i;
map<int, vector<int>> mp;
for (int i = 0; i < n; i++)
mp[a[i]].push_back(i);
int ans = 1e9;
for (const auto &i: mp) {
for (int j = 0; j + 1 < i.second.size(); j++) {
ans = min(ans, i.second[j + 1] - i.second[j] + 1);
}
}
if (ans == 1e9)
cout << -1 << '\n';
else
cout << ans << '\n';
}
}
int main() {
hoda();
solve();
return 0;
}
450. Delete Node in a BST | 445. Add Two Numbers II |
442. Find All Duplicates in an Array | 437. Path Sum III |
436. Find Right Interval | 435. Non-overlapping Intervals |
406. Queue Reconstruction by Height | 380. Insert Delete GetRandom O(1) |
332. Reconstruct Itinerary | 368. Largest Divisible Subset |
377. Combination Sum IV | 322. Coin Change |
307. Range Sum Query - Mutable | 287. Find the Duplicate Number |
279. Perfect Squares | 275. H-Index II |
274. H-Index | 260. Single Number III |
240. Search a 2D Matrix II | 238. Product of Array Except Self |
229. Majority Element II | 222. Count Complete Tree Nodes |
215. Kth Largest Element in an Array | 198. House Robber |
153. Find Minimum in Rotated Sorted Array | 150. Evaluate Reverse Polish Notation |
144. Binary Tree Preorder Traversal | 137. Single Number II |
130. Surrounded Regions | 129. Sum Root to Leaf Numbers |